Skip to main content

Git 常用指令

init 初始化

git init
#儲存庫(Repository)初始化:在當前目錄中初始化一個新的儲存庫,這將在目錄中創建一個隱藏的 .git 子目錄,並將其設置為 Git 存儲庫

clone 從遠程儲存庫複製一份完整的代碼到本機

git clone <Remote repository_url>

status 檢查儲存庫狀態

git status
#顯示當前儲存庫狀態,包括已修改的文件和未跟蹤的文件

add 將文件加入暫存區

git add <file_name>
#將當前工作目錄的修改文件加入暫存區準備提交
git add .
#add. 將所有已修改的文件添加到暫存區`

commit 提交變更

git commit -m "commit message"
#提交已經加入暫存區的變更`
git commit -a -m "commit message"
#提交所有暫存區的變更`

diff 查看提交差異

git diff <commit1> <commit2>
#查看兩次提交之間的差異
git diff <branch 1> <branch 2>
#查看分支差異:比較兩個分支之間的差異,可以查看哪些文件在兩個分支之間有不同

log 查看歷史記錄

git log
git log--all
#顯示提交歷史,包括提交的作者、日期和提交消息。加上--all,會列出Git存儲庫中的所有提交,包括所有分支和歷史紀錄。可以查看存儲庫的完整歷史和所有分支的提交紀錄。
git log --oneline --all --graph
#用圖形化方式看 log 資訊
git log old_tag_name..new_tag_name --pretty='%s' --reverse
#查看兩個 tag 或 commit 間增加了哪些 pr
git log 20200909..20200909-1 --pretty='%s' --reverse
#GitHub repo 設定中的 Allow merge commits 有打勾
git log 20200909-3..20200909-4 --pretty='%s' --reverse`GitHub repo 設定中的 Allow #merge commits 沒打勾

branch 列出所有本地分支的清單

git  branch
#當前分支會有星號標記
git branch -a
#列出所有本地和遠端分支的清單
git branch <branch_name>
#建立新的分支
git branch -d <branch_name>`
#刪除分支:刪除指定的分支

checkout 切換到指定的分支

git checkout <branch_name>
#切換到指定的分支
git checkout -b <branch_name>
#建立新分支並同時切換至該新分支

merge 合併分支

git merge <branch_name>
#將一個分支的變更合併到當前分支。

pull 拉取遠程分支的變更

git pull origin <branch_name>
#從遠程儲存庫拉取指定分支的變更
git pull --rebase
#當要 push 發現上面已經有新的 commit 時,可用以下指令
#可能會有 conflict (檔案衝突),與對方確認哪些需保留,Local 解完衝突後,便能 git push`

push 推送本地分支的變更到遠程儲存庫

git push origin <branch_name>
#將本地分支的變更推送到遠程儲存

remote 查看遠程倉庫的信息

git remote -v
#顯示與本地 Git 存儲庫關聯的遠程存儲庫的詳細信息,包括名稱和 UR

Stash 切到不同 branch 處理

git stash save -u "輸入要儲存的名稱,可寫中文"
#將手中的事情先藏起來 (非存到 add 或 commit 喔)
git stash list
#列出目前已儲存的 stash
git stash apply stash@{0}
#將 stash 中的 stash@{0} 抓下來,且不刪除 stash@{0}
git stash pop stash@{0}
#將 stash 中的 stash@{0} 抓下來,同時刪除 stash@{0}
git stash drop stash@{0
#刪除 stash 中的 stash@{0}

reset 恢復 commit 指令

git reset HEAD